package com.zx._10_设计模式._0_综合案例.任务状态变更;

import java.util.ArrayList;
import java.util.List;

abstract class Subject {

    protected List<TaskObserver> observers = new ArrayList<TaskObserver>();

    // 增加观察者方法
    public void add(TaskObserver observer) {
        observers.add(observer);
    }

    // 删除观察者方法
    public void remove(TaskObserver observer) {
        observers.remove(observer);
    }

    // 通知观察者方法
    public void notifyObserver(Long taskId) {
        for (TaskObserver observer : observers) {
            observer.response(taskId);
        }
    }
}